1. Field of the Invention
The present invention relates to a method, system and program for error checking the ordering of raster objects in processing a print job.
2. Description of the Related Art
To print an image, a print engine processor, referred to herein as a raster image processor, converts the image in a page description language or vector graphics format to a bit mapped image indicating a value to print at each pixel of the image. The bit mapped image is sent to the printer to cause the print heads to print the specified color value at the pixel according to the information in the bit map. If a printer has multiple print heads, such as a print head for different colors, then bit maps are generated for each print head. The print heads overlay the images defined by their respective bit maps onto the print medium.
To produce the bit maps for the print heads, the raster image processor performs numerous transformations on a print image, which may include different types of data, such as line art, e.g., text and graphics, and continuous tone (contone), e.g., images. The raster image processor usually performs operations such as data compression, color space conversion, and halftoning when generating the raster bit map to print. After dissecting a print image into different components, such as color components, text art, contone, etc., the raster image processor must then merge the different elements so that the original image, previously split into different components, is reconstructed for the color plane process.
As newer printers print at ever higher resolutions and speeds, the amount of data needed to generate the print job correspondingly increases. One challenge to optimally process raster print data is to ensure that the raster data is generated and sent to the printer in the proper order so that as a page is passing through the printer, the raster data is sent in the correct sequential order to the printer to print. As printer resolution and print speed increases and the software and compression techniques to print at higher resolutions increase in complexity, the management of the raster components of the print job also increases in complexity.
Thus, there is a need in the art to provide improved methods for managing the raster components of a print job and the order in which they are sent to the printer to ensure that raster components are processed and printed in proper sequential order.
To overcome the limitations in the prior art described above, preferred embodiments disclose a method, system, and program for error checking raster objects including pixel information for a print job. A plurality of raster objects form the print job. A raster object is received including sequence information indicating an ordering of the raster object with respect to other raster objects in the print job. A determination is made from the sequence information as to whether the raster object is received in a correct order with respect to other raster objects in the print job. This ensures that the pixel information for the raster object is intended for a current pixel line being processed. An indication of error status is made if the sequence information indicates that the raster object was not received in the correct order with respect to the other raster objects in the print job.
In further embodiments, the sequence information includes object type information indicating whether the raster object is one of a first, next, and last raster objects on a sheet. The print job is comprised of multiple sheets. In such case, the object type information for a previously received raster object is buffered. The object type information from the previously received raster object and the object type information of the current raster object is compared to determine whether the current raster object is received in the correct order. The current raster object is received in the correct order if the object type information indicates that one of the following conditions exist: (i) the current raster object is the first raster object on the sheet and the previous raster object is the last raster object on the sheet; (ii) the current raster object is the last raster object on the sheet and the previous raster object is the first or next raster object on the sheet; (iii) the current raster object is the next raster object on the sheet and the previous raster object is the first raster object on the sheet; and (iv) both the current and previous raster objects are next raster objects on the sheet.
In still further embodiments, raster objects are transmitted to a decompressor to further process after performing the error checking.
In yet further embodiments, each raster object includes pixel information for one color component of a scan line printed by a printer. All the raster objects that include pixel information for the different color components of a same scan line include sequence information indicating that the raster objects of the same scan line are ordered consecutive with respect to each other. The raster objects including the pixel information for the different color components of the same scan line are transmitted to the decompressor after the error checking. Raster objects for the same scan line may be sent to the printer to print before the raster objects of following scan lines are error checked.
Preferred embodiments provide a method, system, and program for processing raster objects representing the color components of a scan line to ensure that all raster components of a scan line are received at the appropriate time. This allows the raster objects to be generated separately and then transferred to separate hardware for further processing and merging. The error checking ensures that raster objects are received in the correct sequence such that a raster object will not be submitted to printing out of order on the wrong scan line.